﻿#region Using

using Common.Base;

using GameLogic.External;

#endregion

namespace GameLogic.Internal
{

    #region Using

    #endregion

    internal abstract class Unit : Identifiable, IUnit
    {
        protected Unit(Player owner, UnitType type)
        {
            this.Owner = owner;
            this.UnitType = type;
        }

        internal Player Owner { get; private set; }

        IPlayer IUnit.Owner
        {
            get
            {
                return this.Owner;
            }
        }

        public UnitType UnitType { get; private set; }

        internal abstract void ArriveAt(Tile tile);
    }
}